home *** CD-ROM | disk | FTP | other *** search
/ Video Toaster 4.2 / Video Toaster v4.2.iso / arexx / toasterpaint / tppads.rexx < prev    next >
OS/2 REXX Batch file  |  1995-12-27  |  4KB  |  147 lines

  1. /* TPPads.rexx V2.0 -- Draw a pads BG              */
  2. /* By Bob Caron © 1995 NewTek Inc.                 */
  3.  
  4. parse arg InClipName","OutClipName","StartField","EndField
  5.  
  6. Address "DigiPaint"
  7. options results
  8.  
  9.  
  10. screen=0
  11. if inclipname="" & outclipname="" then screen=1
  12. if screen=1 then do
  13.    startfield=1
  14.    endfield=1
  15.    outclipname="Test"
  16.    end
  17.  
  18. IFFBaseName=OutClipName
  19.  
  20. if ~show('l','rexxsupport.library') then do
  21.   if ~addlib('rexxsupport.library',0,-30,34) then do
  22.     exit
  23.   end
  24. end
  25.  
  26. /* Reset Paint */
  27. 'Pmcl'
  28. 'Pot0' 0
  29. 'Pot1' 0
  30. 'Poth' $8000
  31. 'Potv' $8000
  32. 'Spoh' $8000
  33. 'Spov'
  34. /* End Of Reset*/
  35.  
  36. PageWide=752
  37. PageHigh=480
  38. dots=0
  39. XWin = 100
  40. YWin = 40
  41. Clear = d2c(12)
  42. nv = ''
  43. cr = '0a'x
  44. call getfontsize
  45.  
  46. wid = width*48
  47. hei = theight+height*10
  48.  
  49. if screen=0 then do
  50.    if ~open('Window','RAW:'XWin'/'YWin'/'wid'/'hei'/TPPads Script V2.0 - CTRL-C to Abort/NOSIZE/SCREEN 'ps,'W') then do
  51.        exit
  52.    end
  53. end
  54.  
  55. do Frame = StartField to (StartField+(EndField-StartField)/2)
  56.   if screen=0 then  call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
  57.   if screen=0 then 'Gnfd'          /* Get the next field to process          */
  58.   call filter()                    /* Do The filter Thing...                 */
  59.   if screen=0 then 'Apfc'          /* Apeend the field to clip               */
  60.   if screen=0 then 'Gnfd'          /* Get the next field to process          */
  61.   if screen=0 then call filter()   /* If this is a flyer clip do other field */
  62.   if screen=0 then 'Apfc'          /* Apeend the field to clip               */
  63.   if screen=1 then 'Shco'          /* Render To Buffer (if this is screen processing)*/
  64.   end
  65. if screen=0 then 'Iclp'            /* Add an flyer icon to this clip */
  66. exit
  67.  
  68. filter:  /* Do a filter */
  69.  
  70. 'Drre'
  71. if screen=0 then  call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
  72. 'Flon'
  73. 'Hvof'                                  /* Turn off Horizontal and Vertical gradients */
  74. if screen=0 then  call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
  75. 'Hvar'                                  /* Toggle Horiz and Vert. Gradient (on) */
  76. 'Dotb'
  77. 'Poth' $8000            /* Set Gradient center to middle ($0000 - $FFFF) */
  78. 'Potv' $8000            /* Set Gradient center to middle ($0000 - $FFFF) */
  79. 'Rang'
  80. siz=80
  81. if screen=0 then  call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
  82. do y=0 to 482 by siz
  83.   do x=0 to 752 by siz
  84.     'Pend' x y
  85.     'Penu' x+siz y+siz
  86.   end
  87. end
  88. if screen=0 then  call OpenWindow(InclipName,OutClipName,frame,Endfield,Frame)
  89.  
  90. return
  91.  
  92.  
  93. OpenWindow:
  94. parse arg InclipName,OutClipName,currentframe,EndFrame,Frame
  95.   pdots="...."
  96.   dots=dots+1
  97.   if dots>4 then dots=1
  98.   call writech('Window',Clear||nv||cr)
  99.   call writech('Window','Current Source Clip ['InClipName']'cr)
  100.   call writech('Window','  Current Dest Clip ['OutClipName']'cr)
  101.   call writech('Window',''cr)
  102.   call writech('Window','Current Frame: 'Frame/2''cr)
  103.   call writech('Window','    End Frame:'EndFrame/2''cr)
  104.   call writech('Window',''cr)
  105.   call writech('Window','Processing'right(pdots,dots)||cr)
  106.  
  107. return
  108.  
  109.  
  110. getfontsize:
  111.  
  112. if open('font','env:sys/font.prefs','R') then do
  113.    font = readch('font',word(statef('env:sys/font.prefs'),2))
  114.    call close('font')
  115.    font = substr(font,index(font,'FONT')+4)
  116.    font = substr(font,index(font,'FONT')+4)
  117.    height = c2d(substr(font,29,2))
  118.    tfont = substr(font,index(font,'FONT')+4)
  119.    theight = c2d(substr(tfont,29,2))
  120.    font = substr(font,33)
  121.    font = left(font,index(font,d2c(0))-1-5)
  122.    if open('font','FONTS:'font'/'height,'R') then do
  123.       width = c2d(right(readch('font',116),2))
  124.       call close('font')
  125.   end
  126.   else if height=9 then width = 10
  127.                    else width = 8
  128. end
  129.   else do
  130.   theight = 8
  131.   height = 8
  132.   width = 8
  133. end
  134.  
  135. return
  136.  
  137.  
  138. CutBrush: PROCEDURE  /* Cut out a brush with corners at (x1,y1) and (x2,y2) */
  139.   arg x1, y1, x2, y2
  140.   'Dotb'        /* smallest brush size */
  141.   'Drre'        /* Rectangle mode  */
  142.   'Scis'        /* Scissors on, for cutting a brush  */
  143.   'Pend' x1 y1  /* Get in top Left corner  */
  144.   'Penu' x2 y2  /* lift pen to get brush!  */
  145. return 0
  146.  
  147.